package com.netty.service;

/**
 * Netty自以为异步事件驱动的网络，高性能之处主要来自于其I/O模型和线程处理模型，前者决定如何收发数据，后者决定如何处理数据
 *
 * I/O复用模型
 *
 * 在I/O复用模型中，会用到select，这个函数也会使进程阻塞，但是和阻塞I/O所不同的是这个函数可以在一个线程中同时阻塞多个I/O操作，
 * 而且可以同时对多个读操作，多个写操作的I/O函数进行检测，直到有数据可读或可写时，才真正调用I/O函数。
 * Netty的非阻塞I/O的实现关键是基于I/O复用模型，这里用selector对象表示。
 *
 * 异常处理
 *
 * 异步的概念和同步相对。当一个异步过程调用发出后，调用者不能立刻得到结果。实际处理这个调用的部件在完成后，通过状态、通知和回调来通知调用者
 * Netty中的IO操作是异步的，包括Bind、Write、Connect等操作会简单的返回一个channelFuture
 * 调用者并不能立刻获得结果，而是通过Future-Listener机制，用户可以方便的主动获取或通过通知机制来获得IO操作结果
 * 当future对象刚刚创建时，处于非完成状态，调用者可以通过返回的ChannelFuture来获取操作执行的状态，注册监听函数来执行完成后的操作
 */
public class NettyService {

    public static void main(String[] args) {

    }
}
